package myfuxi;

/*
请打印出1-->1000以内的所有的质数;
凡是只能被1和它自己整除的都叫质数
如:1,3,5,7,11,12
思路:
	~Hw:
	~循环打印3-->100以内的数
	~如何判断一个数是不是质数
	~在循环的时候尽量减少循环的次数;
*/
public class 质数
{
	public static void main(String[] asdfasf)
	{
		System.out.println("====");
	
		for(int i=3 ; i<1000 ; i++ )
		{
			int shu = i ; 
			/*
				断言:假设;
				true:肯定是质数;
			*/
			boolean flag = true ; 

			/*s是 除数 
			 * s<=shu/2 是为了减少循环得次数
			 * 如果能被二出尽那么 就不是质数了
			 * */
			for(int s=2 ; s<=shu/2 ;s++) 
			{
				if(shu %s == 0 )
				{
					/* 除尽了
						只要有一个除尽了,肯定不是质数,就木有必要再循环了;
						肯定是合数(质数对立面)
					 */
					flag = false ; 
					break ; 
				}
			}
			/* 只有全部除一遍以后,才能知道是不是质数 */
			if(flag)
			{
				System.out.println(shu + "--是质数--");
			}
		}
	}
}
